I looked everywhere to try and figure out how to make these machines be quieter... I ended up doing some poking around the IMM firmware and found the following command should put each "Zone" into Acoustic mode:
ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
ipmitool raw 0x3a 0x07 0x03 0x00 0x01
Of course, it's up to you to ensure your server doesn't get too hot, but hopefully this will help out with the noise...
I believe the third argument to the IPMI raw command refers to the number (Zone) on each Fan Tach when you do:
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool sdr | grep Tach
Fan 1A Tach | 1479 RPM | ok
Fan 1B Tach | 1050 RPM | ok
Fan 2A Tach | 1479 RPM | ok
Fan 2B Tach | 1100 RPM | ok
Fan 3A Tach | 1537 RPM | ok
Fan 3B Tach | 1050 RPM | ok
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]
This might work on other models too, though I am not sure...
Some other commands I've found:
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool raw 0x3a 0x06
0a 05 03 02 0a 02 03 64 64 28 03 02 0a 02 03 64
64 28 0a 05 03 02 0a 02 03 64 64 28
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]
Which corresponds to the following log entries in IMM:
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.791254 ] thermal: Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.792231 ] thermal: Controller - get_zone_config_request for zone 1
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793447 ] thermal: Zone 1 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793906 ] thermal: Zone 1 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794443 ] thermal: Zone 1 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794825 ] thermal: Controller - get_zone_config_request for zone 2
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795393 ] thermal: Zone 2 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795801 ] thermal: Zone 2 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796329 ] thermal: Controller - get_zone_config_request for zone 3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796728 ] thermal: Zone 3 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797277 ] thermal: Zone 3 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797694 ] thermal: Zone 3 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
I'll let you map that out if you need to tweak things for your tastes (Zone 2 is a DIMM zone, so no CPU TControl values)
I can do a write-up on my efforts if anyone is interested further...
Thank You!!!
I have been searching for days on how to do this for my 3650 M4. The first two command work for me:
ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
CPU temps are around 45c, ambient around 22c. Fans now around 1200 to 1500 :)
Oh and a side note, currently my temps are:
Ambient: 28 degrees C
Zone 1:
CPU 1 temp = -32 : tcontrol = -10
Zone 2:
DIMM 1 Temperature = 43 degrees Celsius
DIMM 2 Temperature = 44 degrees Celsius
DIMM 3 Temperature = 43 degrees Celsius
DIMM 4 Temperature = 43 degrees Celsius
DIMM 5 Temperature = 43 degrees Celsius
DIMM 6 Temperature = 45 degrees Celsius
DIMM 7 Temperature = 46 degrees Celsius
DIMM 8 Temperature = 47 degrees Celsius
DIMM 9 Temperature = 47 degrees Celsius
DIMM 10 Temperature = 48 degrees Celsius
DIMM 11 Temperature = 48 degrees Celsius
DIMM 12 Temperature = 48 degrees Celsius
DIMM 13 Temperature = 48 degrees Celsius
DIMM 14 Temperature = 47 degrees Celsius
DIMM 15 Temperature = 47 degrees Celsius
DIMM 16 Temperature = 49 degrees Celsius
Zone 3:
CPU 2 temp = -29 : tcontrol = -10
Also I forgot to tell you how to undo that acoustic change:
ipmitool raw 0x3a 0x07 0x01 0x00 0x00
ipmitool raw 0x3a 0x07 0x02 0x00 0x00
ipmitool raw 0x3a 0x07 0x03 0x00 0x00
After the fans are in acoustic mode, there’s a command on the IMM (you need root to access it) called fan which can control the PWM on each zone.
Thank you! I had put FreeBSD on an old x3550 (1st gen, no Mx) and the fans went to 100% after booting. I modified your commands just a bit for the zones in my server:
ipmitool raw 0x3a 0x07 0x00 0x00 0x01
ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
This took the fans from ~13000-15000 rpm down to 2200-3400 rpm. MUCH better, as this is a 1u compared to your 2u, so the fans are small and quite loud.
Did you ever do the writeup? I'm intrigued how you extracted these from the firmware. I too have a noisy 3650 M4, I previously determined something similar was possible but with commands like this:
ipmitool raw 0x3a 0x07 0x01 0x20 0x01
ipmitool raw 0x3a 0x07 0x01 0x60 0x01
These appear to manually change the speed of the fans rather than the fan profile: i.e. Acoustic mode etc.
This log message seems to suggest that the 0x3a 0x06 command is responsible for the profile change:
Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm.
I'll have another play with it later (and look at the logs to see what each command does as I was previously doing it by hear and checking the fan tach sensors).
Members
Online
I looked everywhere to try and figure out how to make these machines be quieter... I ended up doing some poking around the IMM firmware and found the following command should put each "Zone" into Acoustic mode:
ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
ipmitool raw 0x3a 0x07 0x03 0x00 0x01
Of course, it's up to you to ensure your server doesn't get too hot, but hopefully this will help out with the noise...
I believe the third argument to the IPMI raw command refers to the number (Zone) on each Fan Tach when you do:
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool sdr | grep Tach
Fan 1A Tach | 1479 RPM | ok
Fan 1B Tach | 1050 RPM | ok
Fan 2A Tach | 1479 RPM | ok
Fan 2B Tach | 1100 RPM | ok
Fan 3A Tach | 1537 RPM | ok
Fan 3B Tach | 1050 RPM | ok
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]
This might work on other models too, though I am not sure...
Some other commands I've found:
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin] ./ipmitool raw 0x3a 0x06
0a 05 03 02 0a 02 03 64 64 28 03 02 0a 02 03 64
64 28 0a 05 03 02 0a 02 03 64 64 28
[root@esx02:/vmfs/volumes/58933045-70399b75-4839-e41f132f478c/bin]
Which corresponds to the following log entries in IMM:
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.791254 ] thermal: Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.792231 ] thermal: Controller - get_zone_config_request for zone 1
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793447 ] thermal: Zone 1 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.793906 ] thermal: Zone 1 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794443 ] thermal: Zone 1 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.794825 ] thermal: Controller - get_zone_config_request for zone 2
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795393 ] thermal: Zone 2 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.795801 ] thermal: Zone 2 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796329 ] thermal: Controller - get_zone_config_request for zone 3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.796728 ] thermal: Zone 3 - CPU Tcontrol=-10, Tcontrol hysteresis=5
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797277 ] thermal: Zone 3 - NMax=3, InitIndex=2, SenScan=10sec, UpRampRate=2, DownRampRate=3
Dec 27 22:07:32 R-ESX02 bmcapp: [ 562072.797694 ] thermal: Zone 3 - Max PWM=100%, Fan Fail PWM=100%, Acoustic Max PWM=40%
I'll let you map that out if you need to tweak things for your tastes (Zone 2 is a DIMM zone, so no CPU TControl values)
I can do a write-up on my efforts if anyone is interested further...
Thank You!!!
I have been searching for days on how to do this for my 3650 M4. The first two command work for me:
ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
CPU temps are around 45c, ambient around 22c. Fans now around 1200 to 1500 :)
Oh and a side note, currently my temps are:
Ambient: 28 degrees C
Zone 1:
CPU 1 temp = -32 : tcontrol = -10
Zone 2:
DIMM 1 Temperature = 43 degrees Celsius
DIMM 2 Temperature = 44 degrees Celsius
DIMM 3 Temperature = 43 degrees Celsius
DIMM 4 Temperature = 43 degrees Celsius
DIMM 5 Temperature = 43 degrees Celsius
DIMM 6 Temperature = 45 degrees Celsius
DIMM 7 Temperature = 46 degrees Celsius
DIMM 8 Temperature = 47 degrees Celsius
DIMM 9 Temperature = 47 degrees Celsius
DIMM 10 Temperature = 48 degrees Celsius
DIMM 11 Temperature = 48 degrees Celsius
DIMM 12 Temperature = 48 degrees Celsius
DIMM 13 Temperature = 48 degrees Celsius
DIMM 14 Temperature = 47 degrees Celsius
DIMM 15 Temperature = 47 degrees Celsius
DIMM 16 Temperature = 49 degrees Celsius
Zone 3:
CPU 2 temp = -29 : tcontrol = -10
Also I forgot to tell you how to undo that acoustic change:
ipmitool raw 0x3a 0x07 0x01 0x00 0x00
ipmitool raw 0x3a 0x07 0x02 0x00 0x00
ipmitool raw 0x3a 0x07 0x03 0x00 0x00
After the fans are in acoustic mode, there’s a command on the IMM (you need root to access it) called fan which can control the PWM on each zone.
Thank you! I had put FreeBSD on an old x3550 (1st gen, no Mx) and the fans went to 100% after booting. I modified your commands just a bit for the zones in my server:
ipmitool raw 0x3a 0x07 0x00 0x00 0x01
ipmitool raw 0x3a 0x07 0x01 0x00 0x01
ipmitool raw 0x3a 0x07 0x02 0x00 0x01
This took the fans from ~13000-15000 rpm down to 2200-3400 rpm. MUCH better, as this is a 1u compared to your 2u, so the fans are small and quite loud.
Did you ever do the writeup? I'm intrigued how you extracted these from the firmware. I too have a noisy 3650 M4, I previously determined something similar was possible but with commands like this:
ipmitool raw 0x3a 0x07 0x01 0x20 0x01
ipmitool raw 0x3a 0x07 0x01 0x60 0x01
These appear to manually change the speed of the fans rather than the fan profile: i.e. Acoustic mode etc.
This log message seems to suggest that the 0x3a 0x06 command is responsible for the profile change:
Handling IPMI CMD 3A 06 - Tweak Thermal Algorithm.
I'll have another play with it later (and look at the logs to see what each command does as I was previously doing it by hear and checking the fan tach sensors).
Members
Online